package com.tabnet.dao;

import java.util.HashMap;

import com.tabnet.beans.personnes.Fournisseur;

public interface DAOFournisseur {
	
	/**
	 * Méthode qui ajoute un fournisseur dans la base de données
	 * @param poFournisseur
	 * @throws DAOException
	 */
	public void addFournisseur(Fournisseur poFournisseur) throws DAOException;
	
	/**
	 * Méthode qui modifie un fournisseur dans la base de données
	 * @param poFournisseur
	 * @param mdp
	 * @throws DAOException
	 */
	public void updFournisseur(Fournisseur poFournisseur, String mdp) throws DAOException;

	/**
	 * Méthode qui retourne une collection des fournisseurs
	 * qui sont présent dans la base de données
	 * @return HashMap<String, Fournisseur>
	 * @throws DAOException
	 */
	public HashMap<String, Fournisseur> lister() throws DAOException;
	
	/**
	 * Méthode qui retourne vrai si l'adresse e-mail du fournisseur est disponible dans la base de données
	 * @param mail
	 * @param idF
	 * @return true si adresse mail disponible, false sinon
	 * @throws DAOException
	 */
	public boolean verificationMail(String mail, String idF) throws DAOException;
	
	/**
	 * Méthode qui vérifie si l'identifiant utilisé par le fournisseur existe déjà dans la base de données
	 * @param id
	 * @return true si identifiant disponible, false sinon
	 * @throws DAOException
	 */
	public boolean verificationID(String id) throws DAOException;
	
	/**
	 * Méthode qui retourne vrai si le fournisseur a entré les bons identifants de connexion
	 * @param mail
	 * @param mdp
	 * @return true si bon identifiants, false sinon
	 * @throws DAOException
	 */
	public String verificationMdp(String mail, String mdp) throws DAOException;
	
	/**
	 * Méthode qui retourne un fournisseur à partir de son identifant dans la base de données
	 * @param id
	 * @return Fournisseur
	 * @throws DAOException
	 */
	public Fournisseur trouverFourn(String id) throws DAOException;
}
